\name{diagplot.boxplot}
\alias{diagplot.boxplot}
\title{Boxplots wrapper for the metaseqR package}
\usage{
    diagplot.boxplot(mat, name = NULL, log.it = "auto",
        y.lim = "default", is.norm = FALSE, output = "x11",
        path = NULL, ...)
}
\arguments{
    \item{mat}{the count data matrix.}

    \item{name}{the names of the samples plotted on the
    boxdiagplot. If \code{NULL}, the function check the
    column names of mat. If they are also \code{NULL}, sample
    names are autogenerated. If \code{name="none"}, no sample
    names are plotted. If name is a list, it should be the
    sample.list argument provided to the manin metaseqr
    function. In that case, the boxes are colored per group.}

    \item{log.it}{whether to log transform the values of mat
    or not. It can be \code{TRUE}, \code{FALSE} or
    \code{"auto"} for auto-detection. Auto-detection log
    transforms by default so that the boxplots are smooth and
    visible.}

    \item{y.lim}{custom y-axis limits. Leave the string
    \code{"default"} for default behavior.}

    \item{is.norm}{a logical indicating whether object
    contains raw or normalized data. It is not essential and
    it serves only plot annotation purposes.}

    \item{output}{one or more R plotting device to direct the
    plot result to. Supported mechanisms: \code{"x11"}
    (default), \code{"png"}, \code{"jpg"}, \code{"bmp"},
    \code{"pdf"}, \code{"ps"} or \code{"json"}. The latter is
    currently available for the creation of interactive
    volcano plots only when reporting the output, through the
    highcharts javascript library (JSON for boxplots not yet
    available).}

    \item{path}{the path to create output files.}

    \item{...}{further arguments to be passed to plot
    devices, such as parameter from \code{\link{par}}.}
}
\value{
    The filename of the boxplot produced if it's a file.
}
\description{
    A wrapper over the general boxplot function, suitable for
    matrices produced and processed with the metaseqr
    package. Intended for internal use but can be easily used
    as stand-alone. It can colors boxes based on group
    depending on the name argument.
}
\examples{
# Non-normalized boxplot
require(DESeq)
data.matrix <- counts(makeExampleCountDataSet())
sample.list <- list(A=c("A1","A2"),B=c("B1","B2","B3"))
diagplot.boxplot(data.matrix,sample.list)

# Normalized boxplot
norm.args <- get.defaults("normalization","deseq")
object <- normalize.deseq(data.matrix,sample.list,norm.args)
diagplot.boxplot(object,sample.list)
}
\author{
    Panagiotis Moulos
}

